#ifndef __USER_H
#define __USER_H

#include "db/db.h"

/**
 * @brief 接收用户信息结构体
 * @param user 用户信息结构体
 * @param cli 客户端结构体
 * @return int 返回接收到的字节数
 *  @retval -1 失败
 *  @retval >0 接收到的字节数
 */
int recvuser(UserInfo_t *user, Client_t *cli);

/**
 * @brief 向数据库中插入新用户信息
 *
 * @param conn 数据库连接
 * @param user 用户信息结构体
 * @return int 查询是否成功
 *  @retval 0 成功
 *  @retval 非零值 失败
 */
int insertUsers(MYSQL *conn, UserInfo_t *user);

/**
 * @brief 向数据库中插入新用户的家目录
 *
 * @param conn 数据库连接
 * @param cli 客户端结构体
 */
void inserthome(MYSQL *conn, Client_t *cli);

/**
 * @brief 用户登录验证
 *
 * @param conn 数据库连接
 * @param user 用户信息结构体
 * @return int 登录是否成功
 *  @retval 0 登录成功
 *  @retval -1 找不到对应用户
 *  @retval -2 密码错误
 */
int authUser(MYSQL *conn, UserInfo_t *user);

#endif /* __USER_H */